package com.springboot_09_mvc.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@Configuration
public class MyInterceptor implements HandlerInterceptor {

    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        //URI：统一资源标识符，表示Web上每一种可用的资源，如HTML文档,图像，视频片段，程序等都是由一个URI进行标识的（身份证号）
        String uri = request.getRequestURI();
        Object loginUser = request.getSession().getAttribute("username");
        if (uri.startsWith("/admin") && null == loginUser) {
            response.sendRedirect("/login");
            return false;
        }
        //System.out.println("preHandle");
        return true;
    }

    @Override
    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
        request.setAttribute("msg","后置拦截器传递");

        //System.out.println("postHandle");
    }

    @Override
    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
        //System.out.println("afterCompletion");
    }
}
